package user.params;

import jakarta.validation.constraints.*;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class UserAddParam implements Serializable {

    @NotBlank(message = "Username is mandatory")
    private String username;

    @NotBlank(message = "Password is mandatory")
    private String password;

    @NotBlank(message = "Email is mandatory")
    @Email(message = "Email should be valid")
    private String email;

    @NotNull(message = "Height is mandatory")
    @Min(value = 50, message = "Height must be at least 50 cm")
    @Max(value = 250, message = "Height must be at most 250 cm")
    private int height;

    @NotNull(message = "Weight is mandatory")
    @Min(value = 30, message = "Weight must be at least 30 kg")
    @Max(value = 300, message = "Weight must be at most 300 kg")
    private int weight;

    @NotNull(message = "Age is mandatory")
    @Min(value = 0, message = "Age must be at least 0")
    @Max(value = 120, message = "Age must be at most 120")
    private int age;

    @NotNull(message = "Sex is mandatory")
    @Min(value = 0, message = "Sex must be 0 or 1")
    @Max(value = 1, message = "Sex must be 0 or 1")
    private int sex;

    @NotNull(message = "Exercise level is mandatory")
    @Min(value = 1, message = "Exercise level must be at least 1")
    @Max(value = 5, message = "Exercise level must be at most 5")
    private int exerciseLevel;


}
